#ifndef IMAGEITEMWIDGET_H
#define IMAGEITEMWIDGET_H

#include <QWidget>
#include <QPushButton>
#include <QLabel>
#include <QVBoxLayout>
#include <QHBoxLayout>
#include "clipboardItem.h"  // 确保包含 ClipboardItem 的头文件

class ImageItemWidget : public QWidget {
    Q_OBJECT

public:
    explicit ImageItemWidget(const ClipboardItem& item, QWidget *parent = nullptr);
    // 添加一个方法获取存储的 ClipboardItem
    ClipboardItem getItem() const;

signals:
    void copyClicked();
    void deleteClicked();
    void getDetailDoubleCliked();
    void favoriteClicked();


private slots:
    void onCopyClicked();
    void onDeleteClicked();
    void onGetDetailDoubleCliked();
    void onFavoriteClicked();

protected:
    bool eventFilter(QObject* obj, QEvent* event) override;  // 事件过滤器

private:
    ClipboardItem item;
    QLabel *imageLabel;
    QLabel *titleLabel;            // 文本标签
    QPushButton *copyButton;      // 复制按钮
    QPushButton *deleteButton;    // 删除按钮
    QPushButton *favoriteButton;  // 收藏按钮
    QVBoxLayout *mainLayout;      // 主垂直布局
    QHBoxLayout *buttonLayout;    // 按钮的水平布局
    QHBoxLayout* favoriteTextLayout;
    void updateFavoriteButtonStyle();
};

#endif // IMAGEITEMWIDGET_H
